In [1]:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import plotly.express as px
from plotly.subplots import make_subplots
from datetime import datetime
In [2]:
 covid_df =  pd.read_csv('covid_19_india.csv')
In [3]:
covid_df.head(10)
Out[3]:
Sno Date Time State/UnionTerritory ConfirmedIndianNational ConfirmedForeignNational Cured Deaths Confirmed
0 1 21/08/11 6:00 PM Kerala 1 0 0 0 1
1 2 21/08/11 6:00 PM Kerala 1 0 0 0 1
2 3 21/08/11 6:00 PM Kerala 2 0 0 0 2
3 4 21/08/11 6:00 PM Kerala 3 0 0 0 3
4 5 21/08/11 6:00 PM Kerala 3 0 0 0 3
5 6 21/08/11 6:00 PM Kerala 3 0 0 0 3
6 7 21/08/11 6:00 PM Kerala 3 0 0 0 3
7 8 21/08/11 6:00 PM Kerala 3 0 0 0 3
8 9 21/08/11 6:00 PM Kerala 3 0 0 0 3
9 10 21/08/11 6:00 PM Kerala 3 0 0 0 3
In [4]:
covid_df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 18110 entries, 0 to 18109
Data columns (total 9 columns):
 #   Column                    Non-Null Count  Dtype 
---  ------                    --------------  ----- 
 0   Sno                       18110 non-null  int64 
 1   Date                      18110 non-null  object
 2   Time                      18110 non-null  object
 3   State/UnionTerritory      18110 non-null  object
 4   ConfirmedIndianNational   18110 non-null  object
 5   ConfirmedForeignNational  18110 non-null  object
 6   Cured                     18110 non-null  int64 
 7   Deaths                    18110 non-null  int64 
 8   Confirmed                 18110 non-null  int64 
dtypes: int64(4), object(5)
memory usage: 1.2+ MB
In [5]:
covid_df.describe()
Out[5]:
Sno Cured Deaths Confirmed
count 18110.000000 1.811000e+04 18110.000000 1.811000e+04
mean 9055.500000 2.786375e+05 4052.402264 3.010314e+05
std 5228.051023 6.148909e+05 10919.076411 6.561489e+05
min 1.000000 0.000000e+00 0.000000 0.000000e+00
25% 4528.250000 3.360250e+03 32.000000 4.376750e+03
50% 9055.500000 3.336400e+04 588.000000 3.977350e+04
75% 13582.750000 2.788698e+05 3643.750000 3.001498e+05
max 18110.000000 6.159676e+06 134201.000000 6.363442e+06
In [6]:
vaccine_df = pd.read_csv('covid_vaccine_statewise.csv')
In [7]:
vaccine_df.head(10)
Out[7]:
Updated On State Total Doses Administered Sessions Sites First Dose Administered Second Dose Administered Male (Doses Administered) Female (Doses Administered) Transgender (Doses Administered) ... 18-44 Years (Doses Administered) 45-60 Years (Doses Administered) 60+ Years (Doses Administered) 18-44 Years(Individuals Vaccinated) 45-60 Years(Individuals Vaccinated) 60+ Years(Individuals Vaccinated) Male(Individuals Vaccinated) Female(Individuals Vaccinated) Transgender(Individuals Vaccinated) Total Individuals Vaccinated
0 16/01/2021 India 48276.0 3455.0 2957.0 48276.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 23757.0 24517.0 2.0 48276.0
1 17/01/2021 India 58604.0 8532.0 4954.0 58604.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 27348.0 31252.0 4.0 58604.0
2 18/01/2021 India 99449.0 13611.0 6583.0 99449.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 41361.0 58083.0 5.0 99449.0
3 19/01/2021 India 195525.0 17855.0 7951.0 195525.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 81901.0 113613.0 11.0 195525.0
4 20/01/2021 India 251280.0 25472.0 10504.0 251280.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 98111.0 153145.0 24.0 251280.0
5 21/01/2021 India 365965.0 32226.0 12600.0 365965.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 132784.0 233143.0 38.0 365965.0
6 22/01/2021 India 549381.0 36988.0 14115.0 549381.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 193899.0 355402.0 80.0 549381.0
7 23/01/2021 India 759008.0 43076.0 15605.0 759008.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 267856.0 491049.0 103.0 759008.0
8 24/01/2021 India 835058.0 49851.0 18111.0 835058.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 296283.0 538647.0 128.0 835058.0
9 25/01/2021 India 1277104.0 55151.0 19682.0 1277104.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 444137.0 832766.0 201.0 1277104.0

10 rows × 24 columns

In [8]:
covid_df.head()
Out[8]:
Sno Date Time State/UnionTerritory ConfirmedIndianNational ConfirmedForeignNational Cured Deaths Confirmed
0 1 21/08/11 6:00 PM Kerala 1 0 0 0 1
1 2 21/08/11 6:00 PM Kerala 1 0 0 0 1
2 3 21/08/11 6:00 PM Kerala 2 0 0 0 2
3 4 21/08/11 6:00 PM Kerala 3 0 0 0 3
4 5 21/08/11 6:00 PM Kerala 3 0 0 0 3
In [9]:
covid_df.drop(['Sno','Time', 'ConfirmedIndianNational','ConfirmedForeignNational'],inplace = True, axis = 1)
In [10]:
covid_df.head(10)
Out[10]:
Date State/UnionTerritory Cured Deaths Confirmed
0 21/08/11 Kerala 0 0 1
1 21/08/11 Kerala 0 0 1
2 21/08/11 Kerala 0 0 2
3 21/08/11 Kerala 0 0 3
4 21/08/11 Kerala 0 0 3
5 21/08/11 Kerala 0 0 3
6 21/08/11 Kerala 0 0 3
7 21/08/11 Kerala 0 0 3
8 21/08/11 Kerala 0 0 3
9 21/08/11 Kerala 0 0 3
In [11]:
 
In [12]:
covid_df.head()
Out[12]:
Date State/UnionTerritory Cured Deaths Confirmed
0 21/08/11 Kerala 0 0 1
1 21/08/11 Kerala 0 0 1
2 21/08/11 Kerala 0 0 2
3 21/08/11 Kerala 0 0 3
4 21/08/11 Kerala 0 0 3
In [13]:
 
In [14]:
covid_df.head()
Out[14]:
Date State/UnionTerritory Cured Deaths Confirmed
0 21/08/11 Kerala 0 0 1
1 21/08/11 Kerala 0 0 1
2 21/08/11 Kerala 0 0 2
3 21/08/11 Kerala 0 0 3
4 21/08/11 Kerala 0 0 3
In [15]:
covid_df['Active_cases'] = covid_df['Confirmed'] - (covid_df['Cured'] + covid_df['Deaths'])
covid_df.tail()
Out[15]:
Date State/UnionTerritory Cured Deaths Confirmed Active_cases
18105 20/02/03 Telangana 638410 3831 650353 8112
18106 20/02/02 Tripura 77811 773 80660 2076
18107 20/02/01 Uttarakhand 334650 7368 342462 444
18108 20/01/31 Uttar Pradesh 1685492 22775 1708812 545
18109 20/01/30 West Bengal 1506532 18252 1534999 10215
In [39]:
statewise = pd.pivot_table(covid_df, values = ['Confirmed','Deaths','Cured'],
                index ='State/UnionTerritory', aggfunc = "max")
In [17]:
statewise['Recovery rate'] = statewise['Cured'] *100/statewise['Confirmed']
In [18]:
statewise['Mortality rate'] = statewise['Deaths'] *100/statewise['Confirmed']
In [19]:
statewise = statewise.sort_values(by = 'Confirmed', ascending = False)
In [20]:
statewise.style.background_gradient(cmap = 'cubehelix')
Out[20]:
  Confirmed Cured Deaths Recovery rate Mortality rate
State/UnionTerritory          
Maharashtra 6363442 6159676 134201 96.797865 2.108937
Maharashtra*** 6229596 6000911 130753 96.329056 2.098900
Kerala 3586693 3396184 18004 94.688450 0.501967
Karnataka 2921049 2861499 36848 97.961349 1.261465
Karanataka 2885238 2821491 36197 97.790581 1.254559
Tamil Nadu 2579130 2524400 34367 97.877967 1.332504
Andhra Pradesh 1985182 1952736 13564 98.365591 0.683262
Uttar Pradesh 1708812 1685492 22775 98.635309 1.332797
West Bengal 1534999 1506532 18252 98.145471 1.189056
Delhi 1436852 1411280 25068 98.220276 1.744647
Chhattisgarh 1003356 988189 13544 98.488373 1.349870
Odisha 988997 972710 6565 98.353180 0.663804
Rajasthan 953851 944700 8954 99.040626 0.938721
Gujarat 825085 814802 10077 98.753704 1.221329
Madhya Pradesh 791980 781330 10514 98.655269 1.327559
Madhya Pradesh*** 791656 780735 10506 98.620487 1.327092
Haryana 770114 759790 9652 98.659419 1.253321
Bihar 725279 715352 9646 98.631285 1.329971
Bihar**** 715730 701234 9452 97.974655 1.320610
Telangana 650353 638410 3831 98.163613 0.589065
Punjab 599573 582791 16322 97.201008 2.722271
Assam 576149 559684 5420 97.142232 0.940729
Telengana 443360 362160 2312 81.685312 0.521472
Jharkhand 347440 342102 5130 98.463620 1.476514
Uttarakhand 342462 334650 7368 97.718871 2.151480
Jammu and Kashmir 322771 317081 4392 98.237140 1.360717
Himachal Pradesh 208616 202761 3537 97.193408 1.695460
Himanchal Pradesh 204516 200040 3507 97.811418 1.714780
Goa 172085 167978 3164 97.613389 1.838626
Puducherry 121766 119115 1800 97.822873 1.478245
Manipur 105424 96776 1664 91.796934 1.578388
Tripura 80660 77811 773 96.467890 0.958344
Meghalaya 69769 64157 1185 91.956313 1.698462
Chandigarh 61992 61150 811 98.641760 1.308233
Arunachal Pradesh 50605 47821 248 94.498567 0.490070
Mizoram 46320 33722 171 72.802245 0.369171
Nagaland 28811 26852 585 93.200514 2.030474
Sikkim 28018 25095 356 89.567421 1.270612
Ladakh 20411 20130 207 98.623291 1.014159
Dadra and Nagar Haveli and Daman and Diu 10654 10646 4 99.924911 0.037545
Dadra and Nagar Haveli 10377 10261 4 98.882143 0.038547
Lakshadweep 10263 10165 51 99.045114 0.496931
Cases being reassigned to states 9265 0 0 0.000000 0.000000
Andaman and Nicobar Islands 7548 7412 129 98.198198 1.709062
Unassigned 77 0 0 0.000000 0.000000
Daman & Diu 2 0 0 0.000000 0.000000
In [21]:
top_10_active_states = covid_df.groupby(by = 'State/UnionTerritory').max()[['Active_cases','Date']].sort_values(by = ['Active_cases'],ascending = False).reset_index()
fig = plt.figure(figsize = (16,9))
plt.title('Top 10 states with most active cases in India', size = 25)
ax = sns.barplot (data = top_10_active_states.iloc[:10],y = 'Active_cases', x = 'State/UnionTerritory',lw = 2,edgecolor = 'red')
plt.xlabel('States')
plt.ylabel('Total Active cases')
plt.show()
No description has been provided for this image
In [22]:
top_10_deaths = covid_df.groupby(by = 'State/UnionTerritory').max()
In [23]:
top_10_deaths = covid_df.groupby(by = 'State/UnionTerritory').max()[['Deaths','Date']].sort_values(by = ['Deaths'],ascending = False).reset_index()
fig = plt.figure(figsize = (18,5))
plt.title('Top 10 states with most Deaths in India', size = 25)
ax = sns.barplot (data = top_10_deaths.iloc[:12],y = 'Deaths', x = 'State/UnionTerritory',lw = 2,edgecolor = 'black')
plt.xlabel('States')
plt.ylabel('Total Death cases')
plt.show()
No description has been provided for this image
In [24]:
covid_df['Date'].unique()
Out[24]:
array(['21/08/11', '21/08/10', '21/08/09', '21/08/08', '21/08/07',
       '21/08/06', '21/08/05', '21/08/04', '21/08/03', '21/08/02',
       '21/08/01', '21/07/31', '21/07/30', '21/07/29', '21/07/28',
       '21/07/27', '21/07/26', '21/07/25', '21/07/24', '21/07/23',
       '21/07/22', '21/07/21', '21/07/20', '21/07/19', '21/07/18',
       '21/07/17', '21/07/16', '21/07/15', '21/07/14', '21/07/13',
       '21/07/12', '21/07/11', '21/07/10', '21/07/09', '21/07/08',
       '21/07/07', '21/07/06', '21/07/05', '21/07/04', '21/07/03',
       '21/07/02', '21/07/01', '21/06/30', '21/06/29', '21/06/28',
       '21/06/27', '21/06/26', '21/06/25', '21/06/24', '21/06/23',
       '21/06/22', '21/06/21', '21/06/20', '21/06/19', '21/06/18',
       '21/06/17', '21/06/16', '21/06/15', '21/06/14', '21/06/13',
       '21/06/12', '21/06/11', '21/06/10', '21/06/09', '21/06/08',
       '21/06/07', '21/06/06', '21/06/05', '21/06/04', '21/06/03',
       '21/06/02', '21/06/01', '21/05/31', '21/05/30', '21/05/29',
       '21/05/28', '21/05/27', '21/05/26', '21/05/25', '21/05/24',
       '21/05/23', '21/05/22', '21/05/21', '21/05/20', '21/05/19',
       '21/05/18', '21/05/17', '21/05/16', '21/05/15', '21/05/14',
       '21/05/13', '21/05/12', '21/05/11', '21/05/10', '21/05/09',
       '21/05/08', '21/05/07', '21/05/06', '21/05/05', '21/05/04',
       '21/05/03', '21/05/02', '21/05/01', '21/04/30', '21/04/29',
       '21/04/28', '21/04/27', '21/04/26', '21/04/25', '21/04/24',
       '21/04/23', '21/04/22', '21/04/21', '21/04/20', '21/04/19',
       '21/04/18', '21/04/17', '21/04/16', '21/04/15', '21/04/14',
       '21/04/13', '21/04/12', '21/04/11', '21/04/10', '21/04/09',
       '21/04/08', '21/04/07', '21/04/06', '21/04/05', '21/04/04',
       '21/04/03', '21/04/02', '21/04/01', '21/03/31', '21/03/30',
       '21/03/29', '21/03/28', '21/03/27', '21/03/26', '21/03/25',
       '21/03/24', '21/03/23', '21/03/22', '21/03/21', '21/03/20',
       '21/03/19', '21/03/18', '21/03/17', '21/03/16', '21/03/15',
       '21/03/14', '21/03/13', '21/03/12', '21/03/11', '21/03/10',
       '21/03/09', '21/03/08', '21/03/07', '21/03/06', '21/03/05',
       '21/03/04', '21/03/03', '21/03/02', '21/03/01', '21/02/28',
       '21/02/27', '21/02/26', '21/02/25', '21/02/24', '21/02/23',
       '21/02/22', '21/02/21', '21/02/20', '21/02/19', '21/02/18',
       '21/02/17', '21/02/16', '21/02/15', '21/02/14', '21/02/13',
       '21/02/12', '21/02/11', '21/02/10', '21/02/09', '21/02/08',
       '21/02/07', '21/02/06', '21/02/05', '21/02/04', '21/02/03',
       '21/02/02', '21/02/01', '21/01/31', '21/01/30', '21/01/29',
       '21/01/28', '21/01/27', '21/01/26', '21/01/25', '21/01/24',
       '21/01/23', '21/01/22', '21/01/21', '21/01/20', '21/01/19',
       '21/01/18', '21/01/17', '21/01/16', '21/01/15', '21/01/14',
       '21/01/13', '21/01/12', '21/01/11', '21/01/10', '21/01/09',
       '21/01/08', '21/01/07', '21/01/06', '21/01/05', '21/01/04',
       '21/01/03', '21/01/02', '21/01/01', '20/12/31', '20/12/30',
       '20/12/29', '20/12/28', '20/12/27', '20/12/26', '20/12/25',
       '20/12/24', '20/12/23', '20/12/22', '20/12/21', '20/12/20',
       '20/12/19', '20/12/18', '20/12/17', '20/12/16', '20/12/15',
       '20/12/14', '20/12/13', '20/12/12', '20/12/11', '20/12/10',
       '20/12/09', '20/12/08', '20/12/07', '20/12/06', '20/12/05',
       '20/12/04', '20/12/03', '20/12/02', '20/12/01', '20/11/30',
       '20/11/29', '20/11/28', '20/11/27', '20/11/26', '20/11/25',
       '20/11/24', '20/11/23', '20/11/22', '20/11/21', '20/11/20',
       '20/11/19', '20/11/18', '20/11/17', '20/11/16', '20/11/15',
       '20/11/14', '20/11/13', '20/11/12', '20/11/11', '20/11/10',
       '20/11/09', '20/11/08', '20/11/07', '20/11/06', '20/11/05',
       '20/11/04', '20/11/03', '20/11/02', '20/11/01', '20/10/31',
       '20/10/30', '20/10/29', '20/10/28', '20/10/27', '20/10/26',
       '20/10/25', '20/10/24', '20/10/23', '20/10/22', '20/10/21',
       '20/10/20', '20/10/19', '20/10/18', '20/10/17', '20/10/16',
       '20/10/15', '20/10/14', '20/10/13', '20/10/12', '20/10/11',
       '20/10/10', '20/10/09', '20/10/08', '20/10/07', '20/10/06',
       '20/10/05', '20/10/04', '20/10/03', '20/10/02', '20/10/01',
       '20/09/30', '20/09/29', '20/09/28', '20/09/27', '20/09/26',
       '20/09/25', '20/09/24', '20/09/23', '20/09/22', '20/09/21',
       '20/09/20', '20/09/19', '20/09/18', '20/09/17', '20/09/16',
       '20/09/15', '20/09/14', '20/09/13', '20/09/12', '20/09/11',
       '20/09/10', '20/09/09', '20/09/08', '20/09/07', '20/09/06',
       '20/09/05', '20/09/04', '20/09/03', '20/09/02', '20/09/01',
       '20/08/31', '20/08/30', '20/08/29', '20/08/28', '20/08/27',
       '20/08/26', '20/08/25', '20/08/24', '20/08/23', '20/08/22',
       '20/08/21', '20/08/20', '20/08/19', '20/08/18', '20/08/17',
       '20/08/16', '20/08/15', '20/08/14', '20/08/13', '20/08/12',
       '20/08/11', '20/08/10', '20/08/09', '20/08/08', '20/08/07',
       '20/08/06', '20/08/05', '20/08/04', '20/08/03', '20/08/02',
       '20/08/01', '20/07/31', '20/07/30', '20/07/29', '20/07/28',
       '20/07/27', '20/07/26', '20/07/25', '20/07/24', '20/07/23',
       '20/07/22', '20/07/21', '20/07/20', '20/07/19', '20/07/18',
       '20/07/17', '20/07/16', '20/07/15', '20/07/14', '20/07/13',
       '20/07/12', '20/07/11', '20/07/10', '20/07/09', '20/07/08',
       '20/07/07', '20/07/06', '20/07/05', '20/07/04', '20/07/03',
       '20/07/02', '20/07/01', '20/06/30', '20/06/29', '20/06/28',
       '20/06/27', '20/06/26', '20/06/25', '20/06/24', '20/06/23',
       '20/06/22', '20/06/21', '20/06/20', '20/06/19', '20/06/18',
       '20/06/17', '20/06/16', '20/06/15', '20/06/14', '20/06/13',
       '20/06/12', '20/06/11', '20/06/10', '20/06/09', '20/06/08',
       '20/06/07', '20/06/06', '20/06/05', '20/06/04', '20/06/03',
       '20/06/02', '20/06/01', '20/05/31', '20/05/30', '20/05/29',
       '20/05/28', '20/05/27', '20/05/26', '20/05/25', '20/05/24',
       '20/05/23', '20/05/22', '20/05/21', '20/05/20', '20/05/19',
       '20/05/18', '20/05/17', '20/05/16', '20/05/15', '20/05/14',
       '20/05/13', '20/05/12', '20/05/11', '20/05/10', '20/05/09',
       '20/05/08', '20/05/07', '20/05/06', '20/05/05', '20/05/04',
       '20/05/03', '20/05/02', '20/05/01', '20/04/30', '20/04/29',
       '20/04/28', '20/04/27', '20/04/26', '20/04/25', '20/04/24',
       '20/04/23', '20/04/22', '20/04/21', '20/04/20', '20/04/19',
       '20/04/18', '20/04/17', '20/04/16', '20/04/15', '20/04/14',
       '20/04/13', '20/04/12', '20/04/11', '20/04/10', '20/04/09',
       '20/04/08', '20/04/07', '20/04/06', '20/04/05', '20/04/04',
       '20/04/03', '20/04/02', '20/04/01', '20/03/31', '20/03/30',
       '20/03/29', '20/03/28', '20/03/27', '20/03/26', '20/03/25',
       '20/03/24', '20/03/23', '20/03/22', '20/03/21', '20/03/20',
       '20/03/19', '20/03/18', '20/03/17', '20/03/16', '20/03/15',
       '20/03/14', '20/03/13', '20/03/12', '20/03/11', '20/03/10',
       '20/03/09', '20/03/08', '20/03/07', '20/03/06', '20/03/05',
       '20/03/04', '20/03/03', '20/03/02', '20/03/01', '20/02/29',
       '20/02/28', '20/02/27', '20/02/26', '20/02/25', '20/02/24',
       '20/02/23', '20/02/22', '20/02/21', '20/02/20', '20/02/19',
       '20/02/18', '20/02/17', '20/02/16', '20/02/15', '20/02/14',
       '20/02/13', '20/02/12', '20/02/11', '20/02/10', '20/02/09',
       '20/02/08', '20/02/07', '20/02/06', '20/02/05', '20/02/04',
       '20/02/03', '20/02/02', '20/02/01', '20/01/31', '20/01/30'],
      dtype=object)
In [43]:
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import matplotlib.dates as mdates


covid_df.replace([float('inf'), -float('inf')], pd.NA, inplace=True)


states = ('Maharashtra', 'Karnataka', 'Kerala', 'Tamil Nadu', 'Uttar Pradesh')
df_filtered = covid_df[covid_df['State/UnionTerritory'].isin(states)]


fig, ax = plt.subplots(figsize=(12, 6))
sns.lineplot(data=df_filtered, x='Date', y='Active_cases', hue='State/UnionTerritory', ax=ax)

ax.set_title('Top 5 Affected States in India', size=16)
ax.set_xlabel('Date')
ax.set_ylabel('Active Cases')


ax.xaxis.set_major_locator(mdates.MonthLocator(interval=3))
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m'))


plt.xticks(rotation=45)
plt.grid()
plt.gcf().autofmt_xdate()

plt.show()
No description has been provided for this image
In [47]:
warnings.simplefilter('ignore', FutureWarning)

plt.figure(figsize=(12,6))
sns.lineplot(data=covid_df[covid_df['State/UnionTerritory'].isin(['Maharashtra', 'Karnataka', 'Kerala', 'Tamil Nadu', 'Uttar Pradesh'])], 
             x='Date', y='Active_cases', hue='State/UnionTerritory')

plt.xlabel('Date') 
plt.ylabel('Active Cases')
plt.title('Growth Trend of COVID-19 Active Cases in Selected States')
plt.show()
No description has been provided for this image
In [27]:
data=covid_df[covid_df['State/UnionTerritory'].isin(['Maharashtra', 'Karnataka', 'Kerala', 'Tamil Nadu', 'Uttar Pradesh'])] 
data
Out[27]:
Date State/UnionTerritory Cured Deaths Confirmed Active_cases
0 21/08/11 Kerala 0 0 1 1
1 21/08/11 Kerala 0 0 1 1
2 21/08/11 Kerala 0 0 2 2
3 21/08/11 Kerala 0 0 3 3
4 21/08/11 Kerala 0 0 3 3
... ... ... ... ... ... ...
18089 20/02/19 Karnataka 2861499 36848 2921049 22702
18090 20/02/18 Kerala 3396184 18004 3586693 172505
18094 20/02/14 Maharashtra 6159676 134201 6363442 69565
18104 20/02/04 Tamil Nadu 2524400 34367 2579130 20363
18108 20/01/31 Uttar Pradesh 1685492 22775 1708812 545

2649 rows × 6 columns

In [28]:
vaccine_df.head()
Out[28]:
Updated On State Total Doses Administered Sessions Sites First Dose Administered Second Dose Administered Male (Doses Administered) Female (Doses Administered) Transgender (Doses Administered) ... 18-44 Years (Doses Administered) 45-60 Years (Doses Administered) 60+ Years (Doses Administered) 18-44 Years(Individuals Vaccinated) 45-60 Years(Individuals Vaccinated) 60+ Years(Individuals Vaccinated) Male(Individuals Vaccinated) Female(Individuals Vaccinated) Transgender(Individuals Vaccinated) Total Individuals Vaccinated
0 16/01/2021 India 48276.0 3455.0 2957.0 48276.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 23757.0 24517.0 2.0 48276.0
1 17/01/2021 India 58604.0 8532.0 4954.0 58604.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 27348.0 31252.0 4.0 58604.0
2 18/01/2021 India 99449.0 13611.0 6583.0 99449.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 41361.0 58083.0 5.0 99449.0
3 19/01/2021 India 195525.0 17855.0 7951.0 195525.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 81901.0 113613.0 11.0 195525.0
4 20/01/2021 India 251280.0 25472.0 10504.0 251280.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 98111.0 153145.0 24.0 251280.0

5 rows × 24 columns

In [29]:
vaccine_df.rename(columns = {'Updated On': 'vaccine_date'}, inplace = True)
In [30]:
vaccine_df.head()
Out[30]:
vaccine_date State Total Doses Administered Sessions Sites First Dose Administered Second Dose Administered Male (Doses Administered) Female (Doses Administered) Transgender (Doses Administered) ... 18-44 Years (Doses Administered) 45-60 Years (Doses Administered) 60+ Years (Doses Administered) 18-44 Years(Individuals Vaccinated) 45-60 Years(Individuals Vaccinated) 60+ Years(Individuals Vaccinated) Male(Individuals Vaccinated) Female(Individuals Vaccinated) Transgender(Individuals Vaccinated) Total Individuals Vaccinated
0 16/01/2021 India 48276.0 3455.0 2957.0 48276.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 23757.0 24517.0 2.0 48276.0
1 17/01/2021 India 58604.0 8532.0 4954.0 58604.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 27348.0 31252.0 4.0 58604.0
2 18/01/2021 India 99449.0 13611.0 6583.0 99449.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 41361.0 58083.0 5.0 99449.0
3 19/01/2021 India 195525.0 17855.0 7951.0 195525.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 81901.0 113613.0 11.0 195525.0
4 20/01/2021 India 251280.0 25472.0 10504.0 251280.0 0.0 NaN NaN NaN ... NaN NaN NaN NaN NaN NaN 98111.0 153145.0 24.0 251280.0

5 rows × 24 columns

In [31]:
vaccine_df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 7845 entries, 0 to 7844
Data columns (total 24 columns):
 #   Column                               Non-Null Count  Dtype  
---  ------                               --------------  -----  
 0   vaccine_date                         7845 non-null   object 
 1   State                                7845 non-null   object 
 2   Total Doses Administered             7621 non-null   float64
 3   Sessions                             7621 non-null   float64
 4    Sites                               7621 non-null   float64
 5   First Dose Administered              7621 non-null   float64
 6   Second Dose Administered             7621 non-null   float64
 7   Male (Doses Administered)            7461 non-null   float64
 8   Female (Doses Administered)          7461 non-null   float64
 9   Transgender (Doses Administered)     7461 non-null   float64
 10   Covaxin (Doses Administered)        7621 non-null   float64
 11  CoviShield (Doses Administered)      7621 non-null   float64
 12  Sputnik V (Doses Administered)       2995 non-null   float64
 13  AEFI                                 5438 non-null   float64
 14  18-44 Years (Doses Administered)     1702 non-null   float64
 15  45-60 Years (Doses Administered)     1702 non-null   float64
 16  60+ Years (Doses Administered)       1702 non-null   float64
 17  18-44 Years(Individuals Vaccinated)  3733 non-null   float64
 18  45-60 Years(Individuals Vaccinated)  3734 non-null   float64
 19  60+ Years(Individuals Vaccinated)    3734 non-null   float64
 20  Male(Individuals Vaccinated)         160 non-null    float64
 21  Female(Individuals Vaccinated)       160 non-null    float64
 22  Transgender(Individuals Vaccinated)  160 non-null    float64
 23  Total Individuals Vaccinated         5919 non-null   float64
dtypes: float64(22), object(2)
memory usage: 1.4+ MB
In [32]:
vaccine_df.isnull().sum()
Out[32]:
vaccine_date                              0
State                                     0
Total Doses Administered                224
Sessions                                224
 Sites                                  224
First Dose Administered                 224
Second Dose Administered                224
Male (Doses Administered)               384
Female (Doses Administered)             384
Transgender (Doses Administered)        384
 Covaxin (Doses Administered)           224
CoviShield (Doses Administered)         224
Sputnik V (Doses Administered)         4850
AEFI                                   2407
18-44 Years (Doses Administered)       6143
45-60 Years (Doses Administered)       6143
60+ Years (Doses Administered)         6143
18-44 Years(Individuals Vaccinated)    4112
45-60 Years(Individuals Vaccinated)    4111
60+ Years(Individuals Vaccinated)      4111
Male(Individuals Vaccinated)           7685
Female(Individuals Vaccinated)         7685
Transgender(Individuals Vaccinated)    7685
Total Individuals Vaccinated           1926
dtype: int64
In [33]:
vaccination = vaccine_df.drop(columns = ['Sputnik V (Doses Administered)', 'AEFI', '18-44 Years (Doses Administered)','45-60 Years (Doses Administered)', '60+ Years (Doses Administered)'], axis = 1)
In [34]:
male = vaccination['Male(Individuals Vaccinated)'].sum()
female = vaccination['Female(Individuals Vaccinated)'].sum()
px.pie(names = ['Male', 'Female'],values =[male, female], title = 'Male and Female vaccination' )
In [35]:
vaccine = vaccine_df[vaccine_df.State!='India']
vaccine
Out[35]:
vaccine_date State Total Doses Administered Sessions Sites First Dose Administered Second Dose Administered Male (Doses Administered) Female (Doses Administered) Transgender (Doses Administered) ... 18-44 Years (Doses Administered) 45-60 Years (Doses Administered) 60+ Years (Doses Administered) 18-44 Years(Individuals Vaccinated) 45-60 Years(Individuals Vaccinated) 60+ Years(Individuals Vaccinated) Male(Individuals Vaccinated) Female(Individuals Vaccinated) Transgender(Individuals Vaccinated) Total Individuals Vaccinated
212 16/01/2021 Andaman and Nicobar Islands 23.0 2.0 2.0 23.0 0.0 12.0 11.0 0.0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 23.0
213 17/01/2021 Andaman and Nicobar Islands 23.0 2.0 2.0 23.0 0.0 12.0 11.0 0.0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 23.0
214 18/01/2021 Andaman and Nicobar Islands 42.0 9.0 2.0 42.0 0.0 29.0 13.0 0.0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 42.0
215 19/01/2021 Andaman and Nicobar Islands 89.0 12.0 2.0 89.0 0.0 53.0 36.0 0.0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 89.0
216 20/01/2021 Andaman and Nicobar Islands 124.0 16.0 3.0 124.0 0.0 67.0 57.0 0.0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 124.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
7840 11/08/2021 West Bengal NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
7841 12/08/2021 West Bengal NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
7842 13/08/2021 West Bengal NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
7843 14/08/2021 West Bengal NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN
7844 15/08/2021 West Bengal NaN NaN NaN NaN NaN NaN NaN NaN ... NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN

7633 rows × 24 columns

In [36]:
vaccine.rename(columns = {"Total Individuals Vaccinated": 'Total'}, inplace = True)
vaccine.head()
Out[36]:
vaccine_date State Total Doses Administered Sessions Sites First Dose Administered Second Dose Administered Male (Doses Administered) Female (Doses Administered) Transgender (Doses Administered) ... 18-44 Years (Doses Administered) 45-60 Years (Doses Administered) 60+ Years (Doses Administered) 18-44 Years(Individuals Vaccinated) 45-60 Years(Individuals Vaccinated) 60+ Years(Individuals Vaccinated) Male(Individuals Vaccinated) Female(Individuals Vaccinated) Transgender(Individuals Vaccinated) Total
212 16/01/2021 Andaman and Nicobar Islands 23.0 2.0 2.0 23.0 0.0 12.0 11.0 0.0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 23.0
213 17/01/2021 Andaman and Nicobar Islands 23.0 2.0 2.0 23.0 0.0 12.0 11.0 0.0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 23.0
214 18/01/2021 Andaman and Nicobar Islands 42.0 9.0 2.0 42.0 0.0 29.0 13.0 0.0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 42.0
215 19/01/2021 Andaman and Nicobar Islands 89.0 12.0 2.0 89.0 0.0 53.0 36.0 0.0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 89.0
216 20/01/2021 Andaman and Nicobar Islands 124.0 16.0 3.0 124.0 0.0 67.0 57.0 0.0 ... NaN NaN NaN NaN NaN NaN NaN NaN NaN 124.0

5 rows × 24 columns

In [37]:
max_vac = vaccine.groupby('State')['Total'].sum().to_frame('Total')
max_vac = max_vac.sort_values('Total', ascending = False)[:5]
max_vac
Out[37]:
Total
State
Maharashtra 1.403075e+09
Uttar Pradesh 1.200575e+09
Rajasthan 1.141163e+09
Gujarat 1.078261e+09
West Bengal 9.250227e+08
In [38]:
fig = plt.figure(figsize = (18,5))
plt.title('Top 5 vaccinated States in India', size = 20)
x = sns.barplot (data = max_vac.iloc[:],y = max_vac.Total, x = max_vac.index, lw = 2,edgecolor = 'black')
plt.xlabel('States')
plt.ylabel('Vaccination')
plt.show()
No description has been provided for this image

THE END¶